{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import pylab\n",
    "import math\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import numpy as np\n",
    "from scipy.stats import norm\n",
    "import scipy.stats\n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")\n",
    "\n",
    "\n",
    "df = pd.read_csv('normtemp.txt',sep='   ',names = ['Temperature','Gender','Heart Rate'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Temperature</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Heart Rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>130.000000</td>\n",
       "      <td>130.000000</td>\n",
       "      <td>130.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>98.249231</td>\n",
       "      <td>1.500000</td>\n",
       "      <td>73.761538</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.733183</td>\n",
       "      <td>0.501934</td>\n",
       "      <td>7.062077</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>96.300000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>57.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>97.800000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>69.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>98.300000</td>\n",
       "      <td>1.500000</td>\n",
       "      <td>74.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>98.700000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>79.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>100.800000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>89.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Temperature      Gender  Heart Rate\n",
       "count   130.000000  130.000000  130.000000\n",
       "mean     98.249231    1.500000   73.761538\n",
       "std       0.733183    0.501934    7.062077\n",
       "min      96.300000    1.000000   57.000000\n",
       "25%      97.800000    1.000000   69.000000\n",
       "50%      98.300000    1.500000   74.000000\n",
       "75%      98.700000    2.000000   79.000000\n",
       "max     100.800000    2.000000   89.000000"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Temperature</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Heart Rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>96.3</td>\n",
       "      <td>1</td>\n",
       "      <td>70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>96.7</td>\n",
       "      <td>1</td>\n",
       "      <td>71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>96.9</td>\n",
       "      <td>1</td>\n",
       "      <td>74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>97.0</td>\n",
       "      <td>1</td>\n",
       "      <td>80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>97.1</td>\n",
       "      <td>1</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Temperature  Gender  Heart Rate\n",
       "0         96.3       1          70\n",
       "1         96.7       1          71\n",
       "2         96.9       1          74\n",
       "3         97.0       1          80\n",
       "4         97.1       1          73"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 体温的分布是正太的吗？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2016f8037f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average (Mu): 98.24923076923076 / Standard Deviation: 0.7303577789050376\n"
     ]
    }
   ],
   "source": [
    "observed_temperatures = df['Temperature'].sort_values()\n",
    "bin_val = np.arange(start= observed_temperatures.min(), stop= observed_temperatures.max(), step = .05)\n",
    "mu, std = np.mean(observed_temperatures), np.std(observed_temperatures)\n",
    "\n",
    "\n",
    "p = norm.pdf(observed_temperatures, mu, std)\n",
    "\n",
    "\n",
    "plt.hist(observed_temperatures,bins = bin_val, normed=True, stacked=True)\n",
    "plt.plot(observed_temperatures, p, color = 'red')\n",
    "plt.xticks(np.arange(95.75,101.25,0.25),rotation=90)\n",
    "plt.xlabel('Human Body Temperature Distributions')\n",
    "plt.xlabel('human body temperature')\n",
    "plt.show()\n",
    "\n",
    "\n",
    "print('Average (Mu): '+ str(mu) + ' / ' 'Standard Deviation: '+str(std))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 看起来还可以，让我们再来检验一下吧"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shapiro-Wilk Stat: 0.9865769743919373  Shapiro-Wilk p-Value: 0.2331680953502655\n",
      "p: 0.258747986349\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20170718710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = observed_temperatures\n",
    "\n",
    "#Shapiro-Wilk Test: https://en.wikipedia.org/wiki/Shapiro%E2%80%93Wilk_test\n",
    "shapiro_test, shapiro_p = scipy.stats.shapiro(x)\n",
    "print(\"Shapiro-Wilk Stat:\",shapiro_test, \" Shapiro-Wilk p-Value:\", shapiro_p)\n",
    "\n",
    "k2, p = scipy.stats.normaltest(observed_temperatures)\n",
    "print('p:',p)\n",
    "\n",
    "\n",
    "#Another method to determining normality is through Quantile-Quantile Plots.\n",
    "scipy.stats.probplot(observed_temperatures, dist=\"norm\", plot=pylab)\n",
    "pylab.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean temperature:  98.24923076923076 with standard deviation of +/- 0.730357778905038\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x201708a4eb8>"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2017080ec18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "def ecdf(data):\n",
    "    #Compute ECDF\n",
    "    n = len(data)\n",
    "    x = np.sort(data)\n",
    "    y = np.arange(1, n+1) / n\n",
    "    return x, y\n",
    "\n",
    "# Compute empirical mean and standard deviation\n",
    "\n",
    "# Number of samples\n",
    "n = len(df['Temperature']) \n",
    "\n",
    "# Sample mean\n",
    "mu = np.mean(df['Temperature']) \n",
    "\n",
    "# Sample standard deviation\n",
    "std = np.std(df['Temperature']) \n",
    "\n",
    "print('Mean temperature: ', mu, 'with standard deviation of +/-', std)\n",
    "\n",
    "#Random sampling of the data based off of the mean of the data.\n",
    "normalized_sample = np.random.normal(mu, std, size=10000)\n",
    "x_temperature, y_temperature = ecdf(df['Temperature'])\n",
    "normalized_x, normalized_y = ecdf(normalized_sample)\n",
    "\n",
    "# Plot the ECDFs\n",
    "fig = plt.figure(figsize=(8, 5))\n",
    "plt.plot(normalized_x, normalized_y)\n",
    "plt.plot(x_temperature, y_temperature, marker='.', linestyle='none')\n",
    "plt.ylabel('ECDF')\n",
    "plt.xlabel('Temperature')\n",
    "plt.legend(('Normal Distribution', 'Sample data'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 有学者提出98.6是人类的平均体温，我们该这样认为吗？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 在这里我们选择t检验，因为我们只能计算样本的标准差"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ttest_1sampResult(statistic=-5.4548232923640771, pvalue=2.4106320415610081e-07)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from scipy import stats\n",
    "\n",
    "CW_mu = 98.6\n",
    "stats.ttest_1samp(df['Temperature'], CW_mu, axis=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "####  T-Stat -5.454  p-value近乎0了. 我们该拒绝这样的假设\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 男性和女性的体温有明显差异吗"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "两独立样本t检验\n",
    "H0: 没有明显差异\n",
    "H1: 有明显差异"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average female body temperature = 98.39384615384616\n",
      "Average male body temperature = 98.1046153846154\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Ttest_indResult(statistic=2.2854345381654984, pvalue=0.02393188312240236)"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "female_temp = df.Temperature[df.Gender == 2]\n",
    "male_temp = df.Temperature[df.Gender == 1]\n",
    "mean_female_temp = np.mean(female_temp)\n",
    "mean_male_temp = np.mean(male_temp)\n",
    "print('Average female body temperature = ' + str(mean_female_temp))\n",
    "print('Average male body temperature = ' + str(mean_male_temp))\n",
    "\n",
    "# Compute independent t-test \n",
    "stats.ttest_ind(female_temp, male_temp, axis=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于P值=0.024 < 0.05，我们需要拒绝原假设，我们有%95的自信认为是有差异的！"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
